package interesado;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.SwingConstants;

import javax.swing.WindowConstants;

import misc.Logica;
import misc.Login_GUI;








/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
@SuppressWarnings("serial")
public class Interesado_GUI extends javax.swing.JFrame {

	{
		//Set Look & Feel
		try {
			javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());
		} catch(Exception e) {
			e.printStackTrace();
		}
	}

	private JMenuItem mnuEliminarCuenta;
	private JMenuItem mnuModificarCuenta;
	private JMenuItem mnuCancelarSolicitud;
	private JMenuItem menuConsultarRequisitos;
	private JMenu menuConsulta;
	private JMenuItem mnuRegistrarSolicitud;
	private JMenu mnuSalir;
	private JMenu mnuCuenta;
	private JMenu jMenu1;
	private JMenuBar mnuInteresado;

	//Agregados
	private Login_GUI padre;
	private Logica logica;
	private RegistrarSolicitud_GUI registrarSolicitud;
	private ConsultarRequisitos_GUI consultarRequisitos;
	private CancelarSolicitud_GUI cancelarSolicitud;
	private ModificarCuenta_GUI modificarCuenta;
	private EliminarCuenta_GUI eliminarCuenta;
	private JMenuItem menuCerrar;
	
	/**
	* Auto-generated main method to display this JFrame
	*/
	
	public Interesado_GUI(Login_GUI padre, Logica logica, String usuario, String password) {
		super();
		initGUI();
		this.padre=padre;
		this.logica=logica;
		logica.setConectado(usuario, password);
	}
	private void initGUI() {
		try {
			setTitle("Interesado");
			setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
			getContentPane().setLayout(null);
			getContentPane().setBackground(new java.awt.Color(255,255,255));
			{
				mnuInteresado = new JMenuBar();
				setJMenuBar(mnuInteresado);
				{
					jMenu1 = new JMenu();
					mnuInteresado.add(jMenu1);
					jMenu1.setText("Solicitudes");
					{
						mnuRegistrarSolicitud = new JMenuItem();
						jMenu1.add(mnuRegistrarSolicitud);
						mnuRegistrarSolicitud.setText("Registrar");
						mnuRegistrarSolicitud.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								registrarSolicitud();
							}
						});
					}
					{
						mnuCancelarSolicitud = new JMenuItem();
						jMenu1.add(mnuCancelarSolicitud);
						mnuCancelarSolicitud.setText("Cancelar");
						mnuCancelarSolicitud.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								cancelarSolicitud();
							}
						});
					}
				}
				{
					mnuCuenta = new JMenu();
					mnuInteresado.add(mnuCuenta);
					mnuCuenta.setText("Cuenta");
					{
						mnuModificarCuenta = new JMenuItem();
						mnuCuenta.add(mnuModificarCuenta);
						mnuModificarCuenta.setText("Modificar");
						mnuModificarCuenta.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								modificarCuenta();
							}
						});
					}
					{
						mnuEliminarCuenta = new JMenuItem();
						mnuCuenta.add(mnuEliminarCuenta);
						mnuEliminarCuenta.setText("Eliminar");
						mnuEliminarCuenta.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								
								eliminarCuenta();
							}
						});
					}
				}
				{
					menuConsulta = new JMenu();
					mnuInteresado.add(menuConsulta);
					menuConsulta.setText("Consultas");
					{
						menuConsultarRequisitos = new JMenuItem();
						menuConsulta.add(menuConsultarRequisitos);
						menuConsultarRequisitos.setText("Requisitos de solicitud");
						menuConsultarRequisitos.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								menuConsultarRequisitosActionPerformed(evt);
							}
						});
					}
				}
				{
					mnuSalir = new JMenu();
					mnuInteresado.add(mnuSalir);
					mnuSalir.setText("Salir");
					{
						menuCerrar = new JMenuItem();
						mnuSalir.add(menuCerrar);
						menuCerrar.setText("Cerrar Sesion");
						menuCerrar.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								menuCerrarActionPerformed(evt);
							}
						});
					}
				}
			}
			pack();
			this.setSize(500, 252);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}
	
	
	
	
	//Metodos agregados
	
	
	private void registrarSolicitud(){
		registrarSolicitud=new RegistrarSolicitud_GUI(this, logica);
		registrarSolicitud.setLocationRelativeTo(this);
		registrarSolicitud.setVisible(true);
		this.setVisible(false);
	}
	
	private void cancelarSolicitud(){
		cancelarSolicitud=new CancelarSolicitud_GUI(this,logica);
		cancelarSolicitud.setLocationRelativeTo(this);
		cancelarSolicitud.setVisible(true);
		this.setVisible(false);
	}
	
	private void consultarRequisitos(){
		consultarRequisitos=new ConsultarRequisitos_GUI(this,logica);
		consultarRequisitos.setLocationRelativeTo(this);
		consultarRequisitos.setVisible(true);
		this.setVisible(false);
	}
	
	
	private void modificarCuenta(){
		
		modificarCuenta=new ModificarCuenta_GUI(this,logica);
		modificarCuenta.setLocationRelativeTo(this);
		modificarCuenta.llenarCampos(logica.getDatos());
		modificarCuenta.setVisible(true);
		this.setVisible(false);
	}
	private void eliminarCuenta(){
		eliminarCuenta=new EliminarCuenta_GUI(this,logica);
		eliminarCuenta.setLocationRelativeTo(this);
		eliminarCuenta.setVisible(true);
		this.setVisible(false);
	}
	
	private void salir(){
		this.setVisible(false);
		padre.limpiarCampos();
		this.dispose();
		logica.desconectar();
		padre.setVisible(true);
	}
	
	private void menuConsultarRequisitosActionPerformed(ActionEvent evt) {
		consultarRequisitos();
	}
	
	private void menuCerrarActionPerformed(ActionEvent evt) {
		 int respuesta = JOptionPane.showConfirmDialog(null, "Desea cerrar la sesion", "Cerrar Sesion",
                 JOptionPane.YES_NO_OPTION);
			
			 //Confirmacion afirmativa, sino volvemos a la pantalla
			 if(respuesta==JOptionPane.YES_OPTION){
				 salir();
			 }
	}

	public void cerrarVentana(){
		
				 salir();
			 
		
		
	}
}
